package com.jndi.binding;

import javax.naming.*;   
import javax.naming.spi.ObjectFactory;   
import java.util.Hashtable;   
  
/**  
 * This is an object factory that when given a reference for a Fruit  
 * object, will create an instance of the corresponding Fruit.  
 */  
public class FruitFactory implements ObjectFactory {   
    public FruitFactory() {   
    }   
  
    public Object getObjectInstance(Object obj, Name name, Context ctx,   
    Hashtable env) throws Exception {   
    if (obj instanceof Reference) {   
        Reference ref = (Reference)obj;   
        if (ref.getClassName().equals(Fruit.class.getName())) {   
        RefAddr addr = ref.get("fruit");   
        if (addr != null) {   
            return new Fruit((String)addr.getContent());   
        }   
        }   
    }   
    return null;   
    }   
}   